namespace Crux.Core.Domains;
/// <summary>
/// IDomainEventStore
/// </summary>
public interface IDomainEventStore
{
    /// <summary>
    ///
    /// </summary>
    /// <param name="domainEvent"></param>
    /// <returns></returns>
    (bool success, string? id) Persist(IDomainEvent domainEvent);
    /// <summary>
    ///
    /// </summary>
    /// <param name="id"></param>
    /// <param name="exception"></param>
    /// <returns></returns>
    bool Result(string id, Exception? exception = null);
}